home *** CD-ROM | disk | FTP | other *** search
- #ifndef SANA2_SANA2PACKETMAGIC_H
- #define SANA2_SANA2PACKETMAGIC_H 1
- /*
- ** $Filename: sana2packetmagic.h $
- ** $Release: Developer Information$
- ** $Revision: 1.2 $
- ** $Date: 91/05/08 $
- **
- ** Defined types of magic for the Sana2PacketType structure.
- **
- ** (C) Copyright 1991 Raymond S. Brand
- ** All Rights Reserved
- **
- ** (C) Copyright 1991 Commodore-Amiga Inc.
- ** All Rights Reserved
- */
-
- /*
- ** Contributions from:
- ** Raymond S. Brand, rsbx@cbmvax.commodore.com, (215) 431-9100
- ** Martin Hunt, martin@cbmvax.commodore.com, (215) 431-9100
- ** Perry Kivolowitz, ASDG Incorporated, (608) 273-6585
- */
-
- #ifndef SANA2_SANA2DEVICE_H
- #include <sana2/sana2device.h>
- #endif /* !SANA2_SANA2DEVICE_H */
-
-
- /*
- * The SANA-II Sana2PacketType structure Magic value is an unsigned 32
- * number. The upper 16 bits identify the type of network wire to which
- * the Magic value applies and the lower 16 bits identify the particular
- * type of magic.
- */
-
-
- /*
- * defined types of ethernet magic
- */
-
- #define S2MAGIC_ETHERNET_E2 ((((S2WireType_Ethernet)&0xffff)<<16)|0x0000)
- /*
- * For ethernet, this is the default case. Mask is ignored, Length is 2,
- * Match points to a UWORD to match against the type field of the packet.
- */
-
- #define S2MAGIC_ETHERNET_8023 ((((S2WireType_Ethernet)&0xffff)<<16)|0x0001)
- /*
- * The caller is declaring his intent to receive any of the valid 802.3
- * ethernet packet types. The Match and Mask fields are ignored, Length
- * is 0.
- *
- * SANA-II ethernet driver writers need to support a read queue for 802.3
- * packets separate from packets of any non-802.3 type.
- *
- * A possible flow through an ethernet driver's read interrupt routine
- * might look like the following:
- *
- * ...
- *
- * sniff packet type...
- *
- * if (NoSpecificReadWaiting())
- * {
- * if (IsAn802() && 802ReadWaiting())
- * {
- * Return802();
- * }
- * else
- * {
- * if (OrphanReadWaiting())
- * {
- * ReturnOrphan();
- * }
- * else
- * {
- * DropPacket();
- * }
- * }
- * }
- * else
- * {
- * ReturnSpecificPacket();
- * }
- *
- * ...
- *
- */
-
-
- #endif /* SANA2_SANA2PACKETMAGIC_H */
-